package com.dormitoryAdministratorSystem.dao.room;

import com.dormitoryAdministratorSystem.entity.page.PageBean;
import com.dormitoryAdministratorSystem.entity.room.RoomBean;

import java.util.List;

public interface IRoomDao {
    /**
     * 查询所有可以住的房间
     * @return 所有可以住的房间
     */
    List<RoomBean> getCanLiveRoom();

    /**
     * 修改房间编号所对应的房间所住人数
     * @param r 房间对象
     * @return  1 成功 0 失败
     */
    int updateRoomInfo(int rId, int peopleNo);

    /**
     * 获得分页的Room对象
     * @param sql sql语句
     * @param parms 需要查询条件
     * @return 分页对象
     */
    List<RoomBean>  getRoomByPage(String sql, Object... parms);

    /**
     * 获得分页的总条数
     * @param sql sql语句
     * @param parms 查询条件
     * @return 总条数
     */
    int getRoomTolNum(String sql, Object... parms);

    /**
     * 添加新房间信息
     * @param r 房间对象
     * @return 0 失败， 1 成功
     */
    int addRoomInfo(RoomBean r);

    /**
     * 通过房间id删除房间
     * @param rId 房间id
     * @return 0 失败 1 成功
     */
    int deleteRoom(int rId);

    /**
     * 获得一个房间的信息
     * @param rId 房间编号
     * @return 房间对象
     */
    RoomBean getRoomInfo(int rId);

    int changeRoomState(String state, int id);

    List<RoomBean> getAllRooms();
}
